// JavaScript Document

$(function(){
	
	function controlaAltern(tipo, $context) 
	{
		camposDesable = new Array();
		
		if ( tipo.toLowerCase() == "text") 
		{
			camposDesable.push('input[name="valor[]"]');
			camposDesable.push('input[name="acao_seMarcada[]"]');
		} else 
		{
			camposDesable.push('select[name="tipo[]"]'   );
			camposDesable.push('select[name="mascara[]"]');
			camposDesable.push('input[name="tamanho[]"]' );
			camposDesable.push('input[name="acao_seValor[]"]');
		}
		
		
		campos = camposDesable.join(', ');
		
		$('input, select', $context).not(campos).removeAttr('disabled');
		$(campos, $context).attr('disabled', 'disabled');
		
	}
	
	
	function addAltern() 
	{
		
		/*
		var $ultimoTBODY  = $('#cadAlternativas tbody:last-child');
		var $tipoElemento = $ultimoTBODY .find('select[name="tipoElemento[]"]');
		var index 		  = $tipoElemento.find('option:selected').index();
		
		$('#cadAlternativas').append('<tbody>' + $ultimoTBODY.html() + '</tbody>');
		
		$tbodyInserido = $('#cadAlternativas tbody:last-child');
		
		$tbodyInserido.find('select[name="tipoElemento[]"] option:eq(' + index + ')')
					  .attr('selected', 'selected');
		$tbodyInserido.find('input[name="descAlternativa[]"]').focus();
		
		var ultimaOrdem = $ultimoTBODY.find('input[name="ordemAltern[]"]').val();
		$tbodyInserido.find('input[name="ordemAltern[]"]').val( (Number(ultimaOrdem) + 1) );
		*/
		alert('teste');
	}
	
	
	function delAltern($tbody) 
	{
		if ( $tbody.siblings('tbody').length > 0  )
		{
			$tbody.remove();
		}
	}

	$('#formCadastroPerg').validationEngine(); // Plugin de validação de formulário
	
	
	
	
	$("select[name='codSecao']").live('change', function() {
	
		var secao = 0;
				
		$(this).children('option:selected').each(function () {
			
			secao = Number( $.trim($(this).val()) );
			
		});
		
		if (secao > 0)
		{
			$.ajax({
				url: '../config/funcoes_db.php',
				data: {acao: 'ultima_ordem', secao: secao},
				type: "POST",
				dataType: "text",
				timeout: 300000, // 5 minutos
				cache: false,
				success: function( data, textstring ) {
					
					var ultimaOrdem = Number(data);
					
					if ( !isNaN(ultimaOrdem) )
					{
						$('input[name="Ordem"]').val( ultimaOrdem + 1 )
					} else
					{
						$('input[name="Ordem"]').val('')
					}
				}
				
			});
		} else
		{
			$('input[name="Ordem"]').val('')
		}
	
	}).change();
	
	$("select[name='tipoElemento[]']").live('change', function() {
	
		var tipo = "";
		
		$(this).children('option:selected').each(function () {
			tipo = $.trim( $(this).val() );
		});
		
		var $tboryContext = $(this).closest('tbody');
		controlaAltern(tipo, $tboryContext);
	
	}).change();
	  
	
	$('.addAlternativa').live('click', function() {

		addAltern() ;
		
	});
	
	$('.delAlternativa').live('click', function() {
		
		$tbody = $(this).closest('tbody');
		delAltern($tbody);
		
	});
	
	
	$('form[name="formCadastroPerg"]').submit(function(evt) {
		
		evt.preventDefault();
		
		valido = $(this).validationEngine('validate');
        
		if (valido) 
		{
			$('input, select').removeAttr('disabled');
			
			var $dialog = $('<div id="dialog"></div>');
			var iconCarregando = '<img src="../images/loading_bar-01.gif" style="width:100%; height:30px; margin-top:20px;" />';
			
			var action = $(this).attr('action');
			var params = $(this).serialize();
			
			$.ajax({
				url: action,
				data: params,
				type: "POST",
				dataType: "text",
				timeout: 300000, // 5 minutos
				cache: false,
				beforeSend: function(){
					$dialog.append('Incluindo pergunta...<br>' + iconCarregando)
						   .dialog({ 
						   		modal: true, 
								title: 'Inclusão'
							})
							.css({
								paddingTop: "25px"
							});
				},
				error: function(xhr,er) {
					
					$dialog.html('<p>Ops! ocorreu um erro! Descrição do Erro: <br><br>' + xhr.responseText + '</p>')
					.dialog({
						close: function(event , ui){
							$(this).remove();
						},
						modal: true, 
						title: 'Erro'
					})
				},
				complete: function() {
					$dialog.remove();
				},
				success: function( data, textstring ) {
					
					if ( data.indexOf('sucesso!') >= 0 )
					{
						jAlert(data, 'Informação', function() {
							window.location = 'area_admin.php?page=pergunta&acao=cad';
						});
					} else 
					{	
						$('<div/>').html(data).dialog({
							close: function(event , ui){
								$(this).remove();
							},
							modal: true, 
							title: 'Erro'
						});
					}
				}
				
			});
		}
		
	});
	
	
	
})